package com.zrrd.test01;

/**
 * @author WanJl
 * @version 1.0
 * @title Swimming
 * @description 游泳接口
 * @create 2024/6/1
 */
public interface Swimming {
    /**
     * 去游泳的方法
     */
    void goSwimming();
}
class testSwimming{

    public static void main(String[] args) {
        //对于只用一次的对象或方法，可以采用匿名内部类的形式
        Swimming swimming = new Swimming() {
            /**
             * 去游泳的方法
             */
            @Override
            public void goSwimming() {
                System.out.println("我要仰泳~");
            }
        };
        //调用方法
        goSwi(swimming);
        //在java开发桌面级应用的时候会经常用到。



        //利用lambda表达式进行简化，对匿名内部类进行了优化
        goSwi(()-> System.out.println("我蛙泳"));




    }

    /**
     * 调用游泳方式的方法
     * @param swimming
     */
    public static void goSwi(Swimming swimming){
        swimming.goSwimming();
    }
}